agents.bayesianopponentmodel
Class BayesianOpponentModelScalable
java.lang.Object
agents.bayesianopponentmodel.OpponentModel
agents.bayesianopponentmodel.BayesianOpponentModelScalable
public class BayesianOpponentModelScalable
- extends OpponentModel
Implementation of the scalable Bayesian Model.
Opponent Modelling in Automated Multi-Issue Negotiation Using Bayesian Learning
by K. Hindriks, D. Tykhonov
KNOWN BUGS:
1. Opponent model does not take the opponent's strategy into account, in contrast
to the original paper which depicts an assumption about the opponent'strategy
which adapts over time.
2. The opponent model becomes invalid after a while as NaN occurs in some hypotheses,
corrupting the overall estimation.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BayesianOpponentModelScalable
public BayesianOpponentModelScalable(UtilitySpace pUtilitySpace)
getExpectedEvaluationValue
public double getExpectedEvaluationValue(Bid pBid,
int pIssueNumber)
throws java.lang.Exception
- Throws:
java.lang.Exception
getExpectedWeight
public double getExpectedWeight(int pIssueNumber)
- Overrides:
getExpectedWeight in class OpponentModel
updateWeights
public void updateWeights()
throws java.lang.Exception
- Throws:
java.lang.Exception
updateEvaluationFns
public void updateEvaluationFns()
throws java.lang.Exception
- Throws:
java.lang.Exception
haveSeenBefore
public boolean haveSeenBefore(Bid pBid)
- Overrides:
haveSeenBefore in class OpponentModel
updateBeliefs
public void updateBeliefs(Bid pBid)
throws java.lang.Exception
- Overrides:
updateBeliefs in class OpponentModel
- Throws:
java.lang.Exception
getExpectedUtility
public double getExpectedUtility(Bid pBid)
throws java.lang.Exception
- Plan: cache the results for pBid in a Hash table.
empty the hash table whenever updateWeights or updateEvaluationFns is called.
- Overrides:
getExpectedUtility in class OpponentModel
- Parameters:
pBid -
- Returns:
- weeighted utility where weights represent likelihood of each hypothesis
- Throws:
java.lang.Exception
getNormalizedWeight
public double getNormalizedWeight(Issue i,
int startingNumber)